overlay: Blur the clipped node, not clip the blurred node
authorTimm Bäder <mail@baedert.org>
Sun, 13 Jan 2019 05:35:44 +0000 (06:35 +0100)
committerTimm Bäder <mail@baedert.org>
Sun, 13 Jan 2019 07:23:25 +0000 (08:23 +0100)
Blurring is a lot more expensive than clipping, so try to blur less by
clipping first.

gtk/gtkoverlay.c

index 47a8bb295e3b0798f0a4509e169ec1dd6451c69f..b356aa2ed48fd7ccd80cee379966cdd4456d5f99 100644 (file)
@@ -728,8 +728,8 @@ gtk_overlay_snapshot (GtkWidget   *widget,
 
           gtk_widget_get_allocation (child, &alloc);
           graphene_rect_init (&bounds, alloc.x, alloc.y, alloc.width, alloc.height);
-          gtk_snapshot_push_clip (snapshot, &bounds);
           gtk_snapshot_push_blur (snapshot, blur);
+          gtk_snapshot_push_clip (snapshot, &bounds);
           gtk_snapshot_append_node (snapshot, main_widget_node);
           gtk_snapshot_pop (snapshot);
           gtk_snapshot_pop (snapshot);